package com.lk.web.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lk.web.entity.SysUser;

/**
 * 用户表 服务类
 *
 * @author Aspirin
 * @since 2020-06-21
 */
public interface SysUserService extends IService<SysUser> {

  /**
   * 通过用户名查找用户
   *
   * @param username 用户名
   * @return 用户信息
   */
  SysUser findByUsername(String username);

  /**
   * 通过手机号查询用户信息
   *
   * @param mobile 手机号
   * @return 用户信息
   */
  SysUser findByMobile(String mobile);

  /**
   * 分页查询用户信息
   *
   * @param page 分页对象
   * @param sysUser 查询条件
   * @return IPage
   */
  IPage<SysUser> selectPage(Page<SysUser> page, SysUser sysUser);

  /**
   * 1. 用户id查询用户信息 sys_user 2. 用户id查询所拥有的角色
   *
   * @param id 用户id
   * @return 用户信息
   */
  SysUser findById(Long id);

  /**
   * 通过用户id来假删除， 将is_enabled = 0
   *
   * @param id 用户id
   * @return boolean
   */
  boolean deleteById(Long id);
}
